﻿namespace IOP.OpenType.Rasterizer
{
    /// <summary>
    /// 光栅化创建配置
    /// </summary>
    public class RasterizationOption
    {
        /// <summary>
        /// 最终字符单元长度
        /// </summary>
        public uint UnitsPerEm { get; set; } = 32;
        /// <summary>
        /// 单个字形光栅时的设计长度
        /// </summary>
        public uint DesignPerEm { get; set; } = 2048;
        /// <summary>
        /// 单张纹理长宽
        /// </summary>
        public uint ImageWidth { get; set; } = 4096;
        /// <summary>
        /// 最大字符
        /// </summary>
        public char MaxChar { get; set; } = (char)65535;
        /// <summary>
        /// 最小字符
        /// </summary>
        public char MinChar { get; set; } = (char)0;
        /// <summary>
        /// 平台Id
        /// </summary>
        public ushort PlatformID { get; set; } = 3;
        /// <summary>
        /// 编码Id
        /// </summary>
        public ushort EncodingID { get; set; } = 1;
        /// <summary>
        /// 最小Gid
        /// </summary>
        public uint MinGlyphId { get; set; }
        /// <summary>
        /// 最大Gid
        /// </summary>
        public uint MaxGlyphId { get; set; }
        /// <summary>
        /// 图片格式
        /// </summary>
        public ImageFormat ImageFormat { get; set; } = ImageFormat.Png;
        /// <summary>
        /// 输出路径
        /// </summary>
        public string Path { get; set; } = "";
        /// <summary>
        /// 名称
        /// </summary>
        public string Name { get; set; } = "";
    }
}
